設立記念日なのでシェル上でアスキーアートを出力するツールで遊んでみた
こんにちは、AWS事業本部の平木です!
本日2023年7月7日(金)、クラスメソッド設立20周年目を迎えました!
お祝いと遊びを兼ねてシェル上でアスキーアートを生成できる、ASCIIイメージコンバータ
とfiglet
で遊んでみました!
環境
- EC2
Amazon Linux 2 -
ASCIIイメージコンバータ
snap パッケージ
ascii-image-converter パッケージ -
figlet
やってみる
EC2 へ接続をする
今回の実行環境である EC2(Amazon Linux 2)を用意し、
最近アップデートされました、EC2 Instance Connect Endpoint を使用して、プライベートなEC2へ接続します。
EC2 Instance Connect Endpoint の詳細は下記ブログを参照ください。
接続してみました。
snap をインストールする
何も考えずに snap パッケージをインストールしようとすると、
$ sudo yum install snapd Loaded plugins: extras_suggestions, langpacks, priorities, update-motd amzn2-core | 3.7 kB 00:00:00 No package snapd available. Error: Nothing to do
該当リポジトリがないため、Nothing to do
となります。
そのためリポジトリをインストールします。
下記からは root ユーザで実行します。
cd /etc/yum.repos.d/ wget https://people.canonical.com/~mvo/snapd/amazon-linux2/snapd-amzn2.repo
続いてyum.conf
を修正します。
vi /etc/yum.conf
一番下の行に下記を追記します。
exclude=snapd-*.el7 snap-*.el7
保存して終了したら、下記コマンドで snap をインストールします
yum install snapd
snapd を起動するのと同時に、自動起動設定を行います。
systemctl enable --now snapd.socket
ascii-image-converter をインストールする
下記コマンドで ASCII イメージコンバータをインストールします。
snap install ascii-image-converter
ASCII イメージコンバータで画像をアスキーアートに変換する
今回は、下記画像(くらにゃん)を使用します。
かわいい。
この画像を対象の EC2 へアップロードし、下記コマンドを実行します。
ascii-image-converter clanyan_02deviocafe.jpg
実行すると下記のように出力されます。
figlet をインストールする
下記コマンドで figlet をインストールします。
yum install figlet
もしNothing to do
のエラーが出る場合、epel リポジトリが有効化されていない可能性があるため、
下記ブログを参照して有効化してみてください。
figlet でテキストをアスキーアートに変換する
下記コマンドの形式で利用できます。
figlet [オプション] [オプション引数] [出力するテキスト]
オプション:
-f
フォントを選択。
-d
フォントディレクトリを選択。
-c
出力テキストを中央揃え。
-l
テキストを左揃え。
-r
テキストを右揃え。
-w
出力サイズを指定。
-k
文字間にスペースを追加。
例として下記を実行すると、
figlet -f block -t "CM 20 TH"
みたいに出力されます。
設立20周年
続いて簡単なシェルスクリプトを作成します。
vi cm20y
中身は、
#!/bin/bash ascii-image-converter ./clanyan_02deviocafe.jpg figlet -f block -t "CM 20 TH"
こちらを実行すると、
祝 20周年!
参考
おわりに
今回は設立20周年記念ということで、シェル上で AWS の最新アップデート機能も使いながら20周年を表現してみました!
Linux で遊ぶのは非常に楽しいですね!
みなさんもお祝いをするツールとしてぜひ Linux を採用してみてください。
20周年という記念すべき年にジョインしたのは奇跡なので、今年は楽しみながらもさらに学習に力を入れていきたいと思います!